# task 2
# 购物车
# 启动程序后，用户输入工资，打印商品列表
# 用户根据商品编号选购商品
# 判断用户是否有能力购买，能则直接扣款。否则提醒用户余额不足
# 可随时退出，退出时打印已购商品列表，用户余额

product_list = [
    ['IPhoen', 5000],
    ['bike', 800],
    ['coffee', 40],
    ['tea', 30],
    ['Mac Pro', 12000],
]

print('=== Welcome to Taoba ===')

salary = input('输入你的工资: ')

if salary.isdigit():
    salary = int(salary)
    shop_list = []
    while True:
        print('-'*20)
        print('有以下商品可以购买')
        for index, item in enumerate(product_list):
            print(index, item)
        print('-'*20)
        print('你目前的余额是: %d' % salary)
        print('-'*20)
        choice = input('请输入对应的商品编号选择要购买的商品或者输入[q]退出: ')
        if choice.isdigit():
            choice = int(choice)
            # 进入购买
            # 判断所选的商品是否存在
            if choice >= 0 and choice < len(product_list):
                product = product_list[choice]
                if salary >= product[1]:
                    shop_list.append(product_list[choice])
                    salary -= product_list[choice][1]
                    print('-'*20)
                    print('已经把 %s 加入了你的购物车' % product_list[choice])
                    print('你目前的余额是: %d' % salary)
                else:
                    print('你的余额不足,你目前的余额是: %d' % salary)
            else:
                print('输入的商品编号不在商品列表')
        elif choice == 'q':
            # 退出
            if shop_list:
                print('-'*20)
                print('你购买了以下商品')
                print('-'*20)
                for item in shop_list:
                    print(item)
            else:
                print('你的购物车空空如也')
            print('-'*20)
            print('你的余额是: %d' % salary)
            print('exit ...')
            exit()
        else:
            print('无效的选项')

elif salary == 'q':
    print('exit...')
else:
    print('请输入工资或者[q]')
